package com.example.mall.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;

import java.math.BigDecimal;
import java.util.Date;

import java.io.Serializable;

/**
 * <p>
 * 会员等级表
 * </p>
 *
 * @author whale
 * @since 2025-05-16
 */
@TableName("tb_membership_levels")
public class MembershipLevels extends Model<MembershipLevels> {

    private static final long serialVersionUID = 1L;

    /**
     * 会员等级唯一标识
     */
    @TableId("level_id")
    private Long levelId;
    /**
     * 会员等级名称
     */
    private String name;
    /**
     * 会员等级描述
     */
    private String description;
    /**
     * 升级所需积分
     */
    @TableField("points_required")
    private Integer pointsRequired;
    /**
     * 会员折扣率
     */
    @TableField("discount_rate")
    private BigDecimal discountRate;
    /**
     * 会员状态
     */
    private Integer status;
    /**
     * 创建时间
     */
    @TableField("create_date")
    private Date createDate;
    /**
     * 更新时间
     */
    @TableField("update_date")
    private Date updateDate;


    public Long getLevelId() {
        return levelId;
    }

    public void setLevelId(Long levelId) {
        this.levelId = levelId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public Integer getPointsRequired() {
        return pointsRequired;
    }

    public void setPointsRequired(Integer pointsRequired) {
        this.pointsRequired = pointsRequired;
    }

    public BigDecimal getDiscountRate() {
        return discountRate;
    }

    public void setDiscountRate(BigDecimal discountRate) {
        this.discountRate = discountRate;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public Date getUpdateDate() {
        return updateDate;
    }

    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;
    }


    @Override
    public String toString() {
        return "MembershipLevels{" +
        ", levelId=" + levelId +
        ", name=" + name +
        ", description=" + description +
        ", pointsRequired=" + pointsRequired +
        ", discountRate=" + discountRate +
        ", status=" + status +
        ", createDate=" + createDate +
        ", updateDate=" + updateDate +
        "}";
    }
}
